

#
# 7、现有整数列表包含如下元素：[ 11 , 22 , 33 , 22 , 11 ]，
# 获取一个键盘录入的整数num，判断num在数组中最后出现的角标位置并在
# 控制台打印输出，如元素在数组中不存在，也输出对应提示信息
def find_num(lst,num):
    if num in lst:
        for index in  range(len(lst)-1,-1,-1):
             if num==lst[index]:  #
                 return   index
    else:
        return "此元素不存在"

list1=[ 11 , 22 , 33 , 22 , 11,12,34,5 ]
num=122
find_num(list1,num)



# 8、获取班级成绩中大于80分的人数和具体分数
# 已知：班级所有学生分数:[59,88,99,89,96,85,100,66]
def fe_count(lst):   # lst:班级所有学生分数    #有兴趣的下去了解下filter过滤器
    count=0
    for a in lst:
        if a >80:
            print(a)
            count+=1
    print(count)








#
# 9、给你一个列表 nums 和一个值 val，你需要原地移除所有数值等于 val 的元素，
# 并返回移除后列表的新长度，例如：给定 nums = [0,1,2,2,3,0,4,2], val = 2,
# 函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。
def remove_num(nums,val):
    for index in range(len(nums)-1,-1,-1):
        # if list[index] < 10:
        if nums[index] ==val:
            nums.remove(val)
    return  len(nums)






# 10.给定一个按非递减顺序排序的整数列表 A，返回每个数字的平方组成的新列表，
# 要求也按非递减顺序排序
# 例如： 输入:[-4,-1,0,3,10] 输出结果：[0,1,9,16,100]
# [16,1,0,9,100]

def  sort_num(lst):
    # lst1= [x**2 for x in lst]  #列表推导式    下去试一下字典,集合
    lst1= []
    for a in lst:
        lst1.append(a**2)
    lst1.sort()
    return lst1


def  find_str(s):
  for index,value in enumerate(s):
      if s.count(value)==1:
          return index
  return -1


def str_count(s):
    dictA={}
    s1=""
    for value in s:
        dictA[value]=s.count(value)
    for key,value in dictA.items():
         s1+=f"{key}{value}"

    print(s1)

str_count("aabbccdd")


def find_n(nums,target):
    # s="".join(nums)
    # if target in s:
    #     return  s.find(target)
    # else:
    #     return  -1
    if target in nums:
        return  nums.index(nums)
    else:
        return  -1





